#include<stdio.h>
#include<unistd.h>

//int main()
//{
//  //printf("hello world\n");
//  printf("hello world");//C语言级别的缓冲区，刷新屏幕是通过\n的
//  fflush(stdout);//手动刷新
//  sleep(5);//等5秒
//  return 0;
//}

//int main()
//{
//  char passwd[20];
//  char ch = 0;
//  printf("请输入密码\n");
//  //fgets(passwd,20,stdin);//从键盘读取,会将空格和\n都都进去
//  scanf("%s",passwd);
//  getchar();//吃掉输入缓冲区的\n
//  // fflush(stdin);//这是没用的，因为键盘和输入缓冲区不是一个概念
//  printf("请确认密码(Y/N)\n");
//  ch = getchar();
//  if(ch == 'Y')
//  {
//    printf("确认密码，登录成功\n");
//  }
//  else 
//  {
//    printf("密码错误\n");
//  }
//  return 0;
//}

//进度条小程序
int main()
{
  char str[101] = {'\0'};//每个位置都放\0，这样就不需要手动控制
  int num = 0; 
  const char* p = "|/-\\";//表示程序在进行
  //注意\是识别转义字符的标志，想打印\要两个反斜杠
  while(num < 100)
  {
    str[num] = '=';
    printf("\r\033[32m[%-100s][%3d%%][%c]",str,num+1,p[num%4]);//由于没有\n，stdout没有刷新
    //先回车再输出
    fflush(stdout);//手动刷新屏幕
    usleep(50000);//单位是微秒
    //咱们使总时间为5秒
    ++num;
  }
  printf("\n");
  return 0;
}
